home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr37 / aussiebb.zip / CAPI.ZIP / JAMPROT.H < prev    next >
C/C++ Source or Header  |  1993-07-01  |  3KB  |  111 lines

  1. /*
  2. **  JAM(mbp) - The Joaquim-Andrew-Mats Message Base Proposal
  3. **
  4. **  C API
  5. **
  6. **  Written by Mats Wallin
  7. **
  8. **  ----------------------------------------------------------------------
  9. **
  10. **  jamprot.h (JAMmb)
  11. **
  12. **  Compiler and platform dependant function prototypes
  13. **
  14. **  See JAMSYS.H for information about assumptions made about compilers
  15. **  and platforms.
  16. **
  17. **  Copyright 1993 Joaquim Homrighausen, Andrew Milner, Mats Birch, and
  18. **  Mats Wallin. ALL RIGHTS RESERVED.
  19. **
  20. **  93-06-28    MW
  21. **  Initial coding.
  22. */
  23. #ifdef __cplusplus
  24. extern "C" {
  25. #endif
  26.  
  27. #ifndef __JAMPROT_H__
  28. #define __JAMPROT_H__
  29.  
  30. /*
  31. **  Initialization of the JAMAPIREC structure 
  32. */
  33. int _JAMPROC JAMsysInitApiRec(JAMAPIRECptr apirec, CHAR8ptr pFile, UINT32 Size);
  34. int _JAMPROC JAMsysDeinitApiRec(JAMAPIRECptr apirec);
  35.  
  36. /*
  37. **  I/O functions 
  38. */
  39. int _JAMPROC JAMsysClose(JAMAPIRECptr apirec, FHANDLE fh);
  40. FHANDLE _JAMPROC JAMsysCreate(JAMAPIRECptr apirec, CHAR8ptr pFileName);
  41. int _JAMPROC JAMsysLock(JAMAPIRECptr apirec, int DoLock);
  42. FHANDLE _JAMPROC JAMsysOpen(JAMAPIRECptr apirec, CHAR8ptr pFileName);
  43. INT32 _JAMPROC JAMsysRead(JAMAPIRECptr apirec, FHANDLE fh, VOIDptr pBuf, INT32 Len);
  44. INT32 _JAMPROC JAMsysSeek(JAMAPIRECptr apirec, FHANDLE fh, int FromWhere, INT32 Offset);
  45. FHANDLE _JAMPROC JAMsysSopen(JAMAPIRECptr apirec, CHAR8ptr pFileName, int AccessMode, int ShareMode);
  46. int _JAMPROC JAMsysUnlink(JAMAPIRECptr apirec, CHAR8ptr pFileName);
  47. INT32 _JAMPROC JAMsysWrite(JAMAPIRECptr apirec, FHANDLE fh, VOIDptr pBuf, INT32 Len);
  48.  
  49. #if defined(_WINDOWS)
  50. INT32 _JAMPROC JAMsysReadHuge(JAMAPIRECptr apirec, FHANDLE fh, VOIDptr pBuf, INT32 Len);
  51. INT32 _JAMPROC JAMsysWriteHuge(JAMAPIRECptr apirec, FHANDLE fh, VOIDptr pBuf, INT32 Len);
  52. #endif
  53.  
  54. /*
  55. ** CRC-32
  56. */
  57. UINT32 _JAMPROC JAMsysCrc32(void _JAMFAR *pBuf, unsigned int len, UINT32 crc);
  58.  
  59. /*
  60. **  Time functions
  61. */
  62. UINT32 _JAMPROC JAMsysTime(UINT32ptr pTime);
  63. UINT32 _JAMPROC JAMsysMkTime(JAMTMptr pTm);
  64. JAMTMptr _JAMPROC JAMsysLocalTime(UINT32ptr pt);
  65.  
  66. /*
  67. **  Pointer functions / macros
  68. */
  69. #if defined(__MSDOS__)
  70.     #if defined(__SMALL__) || defined(__MEDIUM__)
  71.         #define JAMsysAddPtr(Ptr,Off) ((void *)(((CHAR8 *)(Ptr))+(UINT16)(Off)))
  72.         void _JAMFAR * _JAMPROC JAMsysAddFarPtr(void _JAMFAR *Ptr, INT32 Offset);
  73.     #else
  74.         void _JAMFAR * _JAMPROC JAMsysAddPtr(void _JAMFAR *Ptr, INT32 Offset);
  75.         #define JAMsysAddFarPtr   JAMsysAddPtr
  76.     #endif
  77. #elif defined(_WINDOWS)
  78.     #if defined(__SMALL__) || defined(__MEDIUM__)
  79.         #define JAMsysAddPtr(Ptr,Off) ((void *)(((CHAR8 *)(Ptr))+(UINT16)(Off)))
  80.     #else
  81.         #define JAMsysAddPtr JAMsysAddFarPtr
  82.     #endif
  83.     #define JAMsysAddFarPtr(Ptr,Offset) ((void _JAMFAR *)(((CHAR8 _HUGE *)(Ptr))+(Offset)))
  84. #else
  85.     #define JAMsysAddPtr(Ptr,Offset) ((void *)(((CHAR8 *)(Ptr))+(Offset)))
  86.     #define JAMsysAddFarPtr   JAMsysAddPtr
  87. #endif
  88.  
  89. /*
  90. **  Aligment macro
  91. **  JAMsysAlign should be defined for platforms that requires INT16s
  92. **  and/or INT32s to be aligned on any boundary.
  93. */
  94. #if defined(__MSDOS__) || defined(__OS2__) || defined(_WINDOWS)
  95.     #define JAMsysAlign(v)    (v)
  96. #elif defined(__sparc__)
  97.     #define JAMsysAlign(v)    ((v)+(((v)%4)?(4-((v)%4)):0))
  98. #elif defined(__50SERIES)
  99.     #define JAMsysAlign(v)    ((v)+(((v)%4)?(4-((v)%4)):0))
  100. #else
  101.     #error Undefined platform
  102. #endif
  103.  
  104. #endif /* __JAMPROT_H__ */
  105.  
  106. #ifdef __cplusplus
  107. }
  108. #endif
  109.  
  110. /* end of file "jamprot.h" */
  111.